home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Franz PD / Franz PD Disk #193 (1992)(Rhein-Sieg-Soft).zip / Franz PD Disk #193 (1992)(Rhein-Sieg-Soft).adf / GFA.Anwendung / BANNER.LST < prev    next >
File List  |  1992-09-14  |  5KB  |  128 lines

  1. REM  *********************************
  2. REM  * Spruchbanddruck 1.00          *
  3. REM  * © 26.4.1992 by Henry König    *
  4. REM  * Bornheide 71, 2000 Hamburg 53 *
  5. REM  *********************************
  6. init                            ! Bildschirm und Fenster öffnen
  7. programmkopf                    ! Bildschirm löschen u. Programmnamen ausgeben
  8. PRINT AT(7,28);"Banner_V1.00. © 1992 by Henry König, Bornheide 71, 2 Hamburg 53"
  9. banner.drucken                  ! Hauptprozedur
  10. CLOSES 1                        ! Bildschirm schließen
  11. CLOSEW #1                       ! Fenster schließen
  12. END                             ! und zurück zur WB
  13. PROCEDURE banner.drucken        ! die eigentliche Druckroutine
  14.   y$="j"                        ! Eingangswert für die Schleife
  15.   dateiname$="RAM:pr.weg"       ! Dateiname zum Zwischenspeichern
  16.   zeichen$="#"                  ! Zeichen für die Schrift
  17.   WHILE y$="j"                  !
  18.     programmkopf
  19.     zeile$=""                   ! alte Textzeile löschen
  20.     PRINT AT(1,5);"Text: ";
  21.     INPUT text$                 ! Text abfragen
  22.     lg%=LEN(text$)*8            ! Textlänge
  23.     CLR ho%                     ! Schrifthöhe löschen
  24.     WHILE ho%<1 OR ho%>10
  25.       PRINT AT(1,7);"Texthöhe max. 80 Zeichen: ";
  26.       INPUT x$                  ! Texthöhe abfragen
  27.       ho%=INT(VAL(x$)/10)       !
  28.       IF ho%>5 THEN             !
  29.         br%=2                   ! Zeichenbreite verdoppeln
  30.       ELSE
  31.         br%=1                   ! einfache Zeichenbreite
  32.       ENDIF
  33.     WEND
  34.     CLS                         ! Bildschirm löschen
  35.     PRINT text$                 ! Text anzeigen
  36.     OPEN "O",#1,dateiname$      ! Ausgabedatei öffnen
  37.     FOR x%=1 TO lg%             ! Textlänge *8
  38.       FOR b%=1 TO 8             ! Höhe
  39.         pixel%=POINT(x%,8-b%)   ! gesetzen Punkt vom Bildschirm lesen
  40.         IF pixel%<>0 THEN       ! Punkt gesetzt?
  41.           zeile$=zeile$+STRING$(ho%,zeichen$)
  42.         ELSE                    ! kein Punkt gesetzt
  43.           zeile$=zeile$+STRING$(ho%," ")
  44.         ENDIF
  45.       NEXT b%
  46.       PRINT #1,zeile$           ! in Datei schreiben
  47.       zeile$=""
  48.     NEXT x%
  49.     CLOSE #1                    ! Datei schließen
  50.     programmkopf
  51.     PRINT AT(4,31);"Der Text benötigt ca.: ";(br%*lg%)/72;" Seiten."
  52.     PRINT AT(4,28);"Spruchband drucken (j/n): ";
  53.     INPUT x$
  54.     IF x$="j" THEN              ! ja, dann drucken
  55.       OPEN "I",#1,dateiname$    ! Text einlesen
  56.       OPEN "O",#2,"PRT:"        ! Drucker öffnen
  57.       FOR x%=1 TO lg%           !
  58.         LINE INPUT #1,zeile$    ! Zeile einlesen
  59.         FOR b%=1 TO br%
  60.           PRINT #2,zeile$
  61.         NEXT b%
  62.       NEXT x%
  63.       CLOSE                     ! Datei und Ausgabegerät schließen
  64.     ENDIF
  65.     programmkopf
  66.     PRINT AT(4,28);"Noch ein Spruchband drucken (j/n): ";
  67.     INPUT y$
  68.     IF y$<>"j" THEN             ! kein Druck mehr
  69.       KILL dateiname$           ! dann Hilfsdatei löschen
  70.     ENDIF
  71.   WEND
  72. RETURN
  73. PROCEDURE programmkopf          ! Bildschirm löschen u. Programmnamen ausgeben
  74.   CLS
  75.   COLOR 2                       ! schwarze Box
  76.   PBOX 1,1,639,20
  77.   COLOR 0                       ! grau
  78.   PBOX 6,4,633,17
  79.   COLOR 4                       ! hellgrau
  80.   LINE 6,4,633,4
  81.   LINE 6,4,6,17
  82.   PRINT AT(2,2);SPACE$(78)
  83.   PCOLOR 5,0
  84.   PRINT AT(25,2);"Druckprogramm für Spruchbänder"
  85.   PCOLOR 1,0
  86.   programmfuss
  87. RETURN
  88. PROCEDURE programmfuss          ! Anweisungsboxen zeichnen
  89.   COLOR 2                       ! schwarz
  90.   PBOX 1,(27*8)-10,639,(32*8)   ! schwarze Box
  91.   COLOR 0                       ! grau
  92.   PBOX 6,(27*8)-7,633,(28*8)+4  ! graue Box
  93.   PBOX 6,(29*8)+2,633,(32*8)-4  ! 2. graue Box
  94.   COLOR 4                       ! hellgrau
  95.   BOX 7,(27*8)-7,633,(32*8)-3
  96.   LINE 7,(29*8)+2,633,(29*8)+2
  97.   LINE 16,(29*8)-6,639-16,(29*8)-6
  98.   LINE 16,(29*8)+5,639-16,(29*8)+5
  99.   LINE 639-16,(29*8)-6,639-16,(26*8)+4  ! senkrechter Strich
  100.   LINE 16,(29*8)+5,16,(31*8)+2  ! senkrechter Strich
  101.   COLOR 2                       ! schwarz
  102.   LINE 7,(32*8)-3,633,(32*8)-3  ! schwarze Linie
  103.   LINE 633,(27*8)-7,633,(32*8)-3
  104.   LINE 16,(27*8)-4,639-16,(27*8)-4
  105.   LINE 16,(31*8)+2,639-16,(31*8)+2
  106.   LINE 16,(29*8)-6,16,(26*8)+4  ! senkrechter Strich
  107.   LINE 639-16,(29*8)+5,639-16,(31*8)+2    ! senkrechter Strich
  108. RETURN
  109. PROCEDURE init                  ! Bildschirm öffnen
  110.   breite%=640                   ! Screenbreite
  111.   hoehe%=256                    ! Screenhöhe
  112.   ebenen%=3                     ! 3 Bitplanes
  113.   OPENS 1,0,0,breite%,hoehe%,ebenen%,&H8000
  114.   OPENW #1,0,0,breite%,hoehe%,&H18,&H1800,1
  115.   farben.setzen                 ! Farbpalette setzen
  116. RETURN
  117. PROCEDURE farben.setzen         ! Farben für Bildschirm
  118.   SETCOLOR 0,5,5,5              ! grau statt blau
  119.   SETCOLOR 1,15,15,15           ! weiß bleibt
  120.   SETCOLOR 2,0,0,0              ! schwarz erhalten
  121.   SETCOLOR 3,15,5,0             ! rot bleibt
  122.   SETCOLOR 4,10,10,10           ! hellgrau inverse Farbe im Filerequester
  123.   SETCOLOR 5,15,15,0            ! gelb
  124.   SETCOLOR 6,0,0,0              ! schwarz = Inverse Farbe im Filerequester
  125. RETURN
  126. REM                               ! damit beim Kopieren der Interpreter nicht
  127. REM                               ! abstürzt
  128.